Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z <select>
usiek00
post
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 25.01.2005

Ostrzeżenie: (0%)
-----


Mam problem pobieram sobie z bazy liste przewoznikow i chce aby zaznaczony był np. LUFTHANSA, a zaznaczony jest pierwszy jaki pobrany został z bazy. Co robie źle questionmark.gif?

  1. <?php
  2. $sql = &#092;"SELECT p.przewoznik FROM przewoznik p\";
  3. $wynik = mysql_query($sql);
  4.  
  5. $ile = mysql_num_rows($wynik);
  6. echo &#092;"<select name='przewoznik'>\";
  7. for($i=0;$i<$ile;$i++){
  8. $wiersz = mysql_fetch_array($wynik);
  9. ($wiersz[$i] == 'LUFTHANSA') ? $selected = &#092;"SELECTED\" : \"LUFTHANSA\";
  10. echo('<option value=\"' . $wiersz[$i] . '\"' . $selected . '>' . $wiersz[0] . '</option>');
  11. }
  12. echo &#092;"</select>\";
  13. ?>


--------------------
www.sokololsztyn.zh.pl <- warte obejrzenia:)
Go to the top of the page
+Quote Post
Wave
post
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 13.01.2005

Ostrzeżenie: (0%)
-----


  1. <?php
  2. for($i=0;$i<$ile;$i++){
  3. $wiersz = mysql_fetch_array($wynik);
  4. if($wiersz[$i] == 'LUFTHANSA') $selected='selected';
  5. else $selected='';
  6. echo('<option value=\"' . $wiersz[$i] . '\"' . $selected . '>' . $wiersz[0] . '</option>');
  7. }
  8. ?>

?
Go to the top of the page
+Quote Post
ikioloak
post
Post #3





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

Ostrzeżenie: (0%)
-----


a zamiast tego ifa jesli juz chcesz uzywac ? : to to wyglada tak:
  1. <?php
  2.  
  3. $selected=($wiersz[$i] == 'LUFTHANSA')?&#092;"selected\" : \"\";
  4.  
  5. ?>
Go to the top of the page
+Quote Post
usiek00
post
Post #4





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 25.01.2005

Ostrzeżenie: (0%)
-----


Niestety ale problem wciaz jest a mianowicie jak pobieram sobie dane z tabeli to wszystkie sa przypisane do $wiersz, tylko ze ja nie moge sie do niej odwolac w sposob $wiersz[$i], gdyż tam mam tylko 1 kolumne i ok 20 wierszy wiec jak ustawie to w petli to zmienna $wiersz[1] i kazda nastepna jest pusta.

Jak zmienic tablice aby dane w niej zapisane w postaci:

przewoznik
przewoznik
przewoznik
przewoznik
przewoznik
przewoznik
przewoznik

były :

przewoznik, przewoznik, przewoznik, przewoznik, przewoznik, przewoznik ...



Zrobilem sobie na przyklad takiego selecta

  1. <?
  2. $ta = Array('c');
  3. $te = Array('a','b','c','d');
  4.  
  5. echo &#092;"<select name='przewoznik'>\";
  6. for($i=0;$i<4;$i++){
  7.  
  8.  if ($te[$i] == $ta[0]) $selected = &#092;"selected\" ;
  9.  
  10. echo('<option value=\"' . $te[$i] . '\"' . $selected . '>' . $te[$i] . '</option>');
  11. }
  12. echo &#092;"</select>\";
  13.  
  14. ?>


i z tego co mi napisaliscie powinna byc zaznaczona literka C, lecz jest D. Coś tutaj nie gra, ktoś wie co questionmark.gifquestionmark.gif?

Ten post edytował usiek00 14.05.2005, 21:09:56


--------------------
www.sokololsztyn.zh.pl <- warte obejrzenia:)
Go to the top of the page
+Quote Post
ikioloak
post
Post #5





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

Ostrzeżenie: (0%)
-----


Patrzysz w ogole w kod ktory masz wygenerowany?
Jak petla jest przy 'c' to do $selected masz przypisywane 'selected' i co z tego ze przy d juz nie jest przypisywane, jak wartosc ta juz tam jest czego skutkiem dostajesz:
  1. ...
  2. <option value="c"selected>c</option><option value="d"selected>d</option>
  3. ...


Zamiast if'a daj:
  1. <?php
  2.  
  3. $selected=($te[$i] == $ta[0])?&#092;"selected\" : \"\";
  4.  
  5. ?>

lub
  1. <?php
  2.  
  3. if ($te[$i] == $ta[0]) $selected = &#092;"selected\" ; else $selected=\"\";
  4.  
  5. ?>

i bedzie gralo.
Go to the top of the page
+Quote Post
usiek00
post
Post #6





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 25.01.2005

Ostrzeżenie: (0%)
-----


Sprawdzałeś czy to działa bo ja sprawdzałem na lokalu i na innym serwerze i cały czas wynik jest ten sam czyli wskazuje na pierwsza wartść w tabeli tj. "a".

Ten post edytował usiek00 14.05.2005, 23:14:25


--------------------
www.sokololsztyn.zh.pl <- warte obejrzenia:)
Go to the top of the page
+Quote Post
ikioloak
post
Post #7





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

Ostrzeżenie: (0%)
-----


  1. <?
  2. $ta = Array('c');
  3. $te = Array('a','b','c','d');
  4.  
  5. echo &#092;"<select name='przewoznik'>\";
  6. for($i=0;$i<4;$i++){
  7.  
  8.  $selected=($te[$i] == $ta[0])?&#092;"selected\" : \"\";
  9.  
  10. echo('<option value=\"' . $te[$i] . '\"' . $selected . '>' . $te[$i] . '</option>');
  11. }
  12. echo &#092;"</select>\";
  13.  
  14. ?>


Sprawdzane na WebServ1.2
Go to the top of the page
+Quote Post
usiek00
post
Post #8





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 25.01.2005

Ostrzeżenie: (0%)
-----


Dobra poszlo choc nic chyba nie zmienilem, pomogl mi chyba restart kompa.


--------------------
www.sokololsztyn.zh.pl <- warte obejrzenia:)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 19:41